#coding=utf-8
from DataBase.RedisBaseConnect import RedisDBConnect

class RedisOperate:
    def __init__(self):
        self.re = RedisDBConnect.red

    # 获取appium启动端口,并启动新的appium服务
    def appiumPort(self,name):
        # 判断是否有启动中的appium服务,启动过的appium端口存入redis中，appium服务停止后删除redis key
        # 获取appium端口list长度
        listLen = self.re.llen(name)
        if listLen > 0:
            # 获取list中最后一个端口，新增端口+2处理
            newPort = int(self.re.lindex(name,-listLen)) + 2
        else:
            newPort = 4723

        return newPort

    # 新增端口到redis中
    def addPortToRedis(self,port,name):
        # 增加端口
        self.re.lpush(name,port)

    # 从redis中删除端口
    def delPortToRedis(self,port,name):
        # 删除端口
        self.re.lrem(name, 0, port)

    # 新增hash类型数据
    def addHashToRedis(self, name,key,value):
        self.re.hset(name,key,value)

    # 删除hash类型数据
    def delHashToRedis(self, name, key, value):
        self.re.hdel(name, key, value)

    # 查看hash类型数据
    def getHashToRedis(self, name, key):
        return self.re.hget(name, key)